Property Checking for Design Patterns
نویسندگان
چکیده
Design patterns have been widely employed as a useful object-oriented technique in software engineering. In this paper, we present an approach to property checking for the application of design patterns in rCOS, which is known as a refinement calculus for object oriented systems. A relational calculus is proposed to specify the pattern properties we would like to check. To construct the abstract model from rCOS instead of analyzing directly on source code, we combine static and dynamic analysis together to achieve better checking efficiency. Class diagrams and object diagrams are obtained with the analysis of rCOS program. The extended operational semantics for rCOS with the object graph is given as the basis for representing object relationships. A general algorithm for calculating relational predicates is presented to perform the property checking. The examples of design patterns from GoF [7], such as abstract factory, builder etc, are also provided to illustrate the effectiveness of our approach from which we can tell whether some patterns are used correctly.
منابع مشابه
Property Speci cation Patterns for Finite - State Veri cation
Finite-state veriication (e.g., model checking) provides a powerful means to detect errors that are often subtle and diicult to reproduce. Nevertheless , the transition of this technology from research to practice has been slow. While there are a number of potential causes for reluctance in adopting such formal methods in practice, we believe that a primary cause rests with the fact that practi...
متن کاملProperty Speciication Patterns for Finite-state Veriication
Finite-state veriication (e.g., model checking) provides a powerful means to detect errors that are often subtle and diicult to reproduce. Nevertheless, the transition of this technology from research to practice has been slow. While there are a number of potential causes for reluctance in adopting such formal methods in practice, we believe that a primary cause rests with the fact that practit...
متن کاملReal-Time Specification Patterns and Tools
An issue limiting the adoption of model checking technologies by the industry is the ability, for non-experts, to express their requirements using the property languages supported by verification tools. This has motivated the definition of dedicated assertion languages for expressing temporal properties at a higher level. However, only a limited number of these formalisms support the definition...
متن کاملReachability checking in complex and concurrent software systems using intelligent search methods
Software system verification is an efficient technique for ensuring the correctness of a software product, especially in safety-critical systems in which a small bug may have disastrous consequences. The goal of software verification is to ensure that the product fulfills the requirements. Studies show that the cost of finding and fixing errors in design time is less than finding and fixing the...
متن کاملRecursive Petri Nets Theory and Application to Discrete Event Systems
In order to design and analyse complex systems, modelers need formal models with two contradictory requirements: a high expressivity and the decidability of behavioural property checking. Here we present and develop the theory of such a model, the recursive Petri nets. First, we show that the mechanisms supported by recursive Petri nets enable to model patterns of discrete event systems related...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2009